﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsFoto_CD
    {
        private dsInmoviliario dsInmoviliario;
        private dsInmoviliarioTableAdapters.FotografiasTableAdapter TAFotografias;

        public clsFoto_CD()
        {
            dsInmoviliario = new dsInmoviliario();
            dsInmoviliario.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            dsInmoviliario.DataSetName = "dsInmoviliario";

            //se le debe pasar la conección
            TAFotografias = new AvaProvi.dsInmoviliarioTableAdapters.FotografiasTableAdapter();
            TAFotografias.ClearBeforeFill = true;
        }

        public dsInmoviliario.FotografiasRow RecuperaFotoDeAvaluo(int IDAvaluo, string strTipo)
        {
            TAFotografias.RecuperaFotoDeAvaluo(this.dsInmoviliario.Fotografias, strTipo, IDAvaluo);
            foreach (dsInmoviliario.FotografiasRow filaFotos in this.dsInmoviliario.Fotografias)
            {
                return filaFotos;
            }
            return null;
        }

        public BindingList<dsInmoviliario.FotografiasRow> RecuperaOtrasFotos(int IDAvaluo, string tipo)
        {
            BindingList<dsInmoviliario.FotografiasRow> blFotos = new BindingList<dsInmoviliario.FotografiasRow>();
            TAFotografias.RecuperaFotoDeAvaluo(this.dsInmoviliario.Fotografias,tipo, IDAvaluo);
            foreach (dsInmoviliario.FotografiasRow filaFotos in this.dsInmoviliario.Fotografias)
            {
                blFotos.Add(filaFotos);
            }
            return blFotos;
        }
        public bool CreaNuevasFotosDeAvaluo(clsFoto_CRN objFoto)
        {
            int RegistrosAfectados = TAFotografias.NuevaFoto(
                objFoto.Imagen,
                objFoto.Observaciones,
                objFoto.Tipo,
                objFoto.Fotos.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ActualizaFotosDeAvaluo(clsFoto_CRN objFoto)
        {
            int RegistrosAfectados = TAFotografias.ActualizaImagen(
                objFoto.Imagen,
                objFoto.Observaciones,
                objFoto.Tipo,
                objFoto.Fotos.Inmueble.Avaluo.IdAvaluo,
                objFoto.ID);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaFotosDeAvaluo(clsFoto_CRN objFoto)
        {
            int RegistrosAfectados = TAFotografias.EliminaFoto(
                objFoto.Tipo,
                objFoto.Fotos.Inmueble.Avaluo.IdAvaluo,
                objFoto.ID);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
